package com.cuixichang.minimalism.transfer.factory;

import com.cuixichang.minimalism.transfer.dto.ILoginDTO;
import com.cuixichang.minimalism.transfer.page.ILoginPageRequest;
import com.cuixichang.minimalism.transfer.page.ILoginQueryRequest;
import com.cuixichang.minimalism.transfer.page.ILoginRequest;
import com.cuixichang.minimalism.transfer.vo.ILoginVO;
import com.cuixichang.minimalism.transfer.po.ILogin;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 系統登录账户管理表对象适配器
 *
 * @author cuixichang
 * @date 2024-12-22
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface ILoginAssembler {

    ILoginAssembler INSTANCT = Mappers.getMapper(ILoginAssembler.class);

    ILoginDTO convertDto(ILoginRequest request);

    ILoginDTO convertDto(ILoginQueryRequest request);

    ILoginDTO convertDto(ILoginPageRequest request);

    ILogin convertPo(ILoginDTO dto);

    ILoginDTO convertDto(ILogin po);

    ILoginVO convertVo(ILoginDTO dto);
}